package NGUYENMINHHIEU.ARRAY_EXCERCISES.EXAMPLE02;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class VIEWS {
    public static void main(String[] args) {
        // 1. Khai báo mảng động 2 chiều kiểu Double
        List<List<Double>> lisDouble = new ArrayList<List<Double>>();

        // 2. Sử dụng Scanner để nhận giá trị
        Scanner sc = null;
        double dValue = 0;
        List<Double> lis = new ArrayList<Double>();
        int iCount = 0;
        do {
            System.out.println("Input: ");
            sc = new Scanner(System.in);
            dValue = sc.nextDouble();
            if (dValue > 0) {
                iCount++;
                lis.add(dValue);
            }
        } while (dValue > 0);

        // 3. Đưa mảng giá trị con vào mảng cha
        lisDouble.add(lis);

        // 4. Duyệt và hiển thị các giá trị trong mảng động 2 chiều
        PrintOfArray(lisDouble);
        
        //5. Ủy quyền thực thi tính tổng giá trị trong mảng
        CONTROLLERS objController = new CONTROLLERS();
        double total = objController.SumOfArray(lisDouble);
        
        //6. Hiển thị kết quả
        System.out.println("Total = "+ total);        
    }

    private static void PrintOfArray(List<List<Double>> lisDouble) {
        for (int row = 0; row < lisDouble.size(); row++)
            for (int column = 0; column < lisDouble.get(row).size(); column++) {
                System.out.println("Row[" + row + "][" + column + "] = "
                                + lisDouble.get(row).get(column));                
            }
    }

}
